Le langage R
Histoire du langage R
R est d’abord et avant tout un langage de programmation, mais c’est aussi un environnement de développement. Initié en 1993 par deux statisticiens - Ross Ihaka et Robert Gentleman - et pour des statisticiens, il est couramment utilisé en statistiques et en science des données (nettoyage, analyse, fouille des données). R peut être considéré comme une mise en œuvre différente du langage S développé par John Chambers et ses collègues au sein de Bell Laboratories.
R est aussi un logiciel libre faisant partie de la liste des paquets GNU depuis 1997 et disponible entre autres sous GNU/Linux, macOS X ou Microsoft Windows. L’indice TIOBE Programming Community, qui mesure la popularité d’un langage de programmation en fonction de la taille de la communauté et de la fréquence des requêtes sur les moteurs de recherche web, le classe comme l’un des 20 langages les plus populaires. La première version officielle de R date de 2000.
Enfin, R est un environnement permettant de manipuler, de calculer et de stocker efficacement des données, de les visualiser via un grand nombre de fonctions, mais aussi de calculer et/ou d’analyser des tableaux de données grâce à grand nombre d’outils appelés fonctions. Comme c’est un langage de programmation simple à apprendre, efficace et bien développé, les utilisateurs et utilisatrices peuvent facilement développer des fonctions selon leurs besoins. Il ne sera pas détaillé dans ce livre le codage de fonctions/packages, car le grand nombre de packages qui existent déjà permet de couvrir un large éventail de fonctionnalités. Un package (paquet), aussi appelé library (bibliothèque) car chargé par la fonction...
Installation de R et de RStudio
1. Comprehensive R Archive Network (CRAN)
Si le langage R peut être utilisé via Microsoft R Open, Oracle R Distribution, Visual Code, Power BI et bien d’autres, il l’est principalement dans RStudio, un logiciel développé par le R Project et disponible sur le CRAN (Comprehensive R Archive Network). Le CRAN est un site internet développé par le R Project qui met à disposition le logiciel et un très grand nombre de packages vérifiés et maintenus. Il faut garder en tête que la simplicité du code permet de développer des packages facilement. Il y a donc une grande variété de sources qui proposent des packages, comme des répertoires GitHub, des blogs ou des sites créés par des particuliers, des professionnels ou des entreprises. Dans cet ouvrage, la plupart des packages utilisés viennent du CRAN. Une autre ressource pour obtenir des packages vérifiés est rOpenSci (https://ropensci.org), un organisme à but non lucratif qui propose des ressources pour R et, entre autres, un guide très détaillé des bonnes pratiques.
2. Installation de R via le CRAN
Ouvrez la page https://www.r-project.org/.
Cliquez sur CRAN dans l’onglet Download ou sur download R dans le texte.
Figure 01-01 : Page d’accueil du CRAN.
Sélectionnez le miroir du CRAN le plus proche (il y en a cinq en France métropolitaine).
Figure 01-02 : Choix du miroir du CRAN. Les pays sont classés par ordre alphabétique, il y a cinq lieux en France métropolitaine.
Choisissez la version en fonction du système d’exploitation.
Figure 01-03 : Choix de la version en fonction du système d’exploitation de l’ordinateur.
Sélectionnez install R for the first time.
Figure 01-04 :...
Packages
1. Qu’est-ce qu’un package ?
Comme décrit précédemment, R est un langage flexible qui permet un large éventail d’actions à travers l’utilisation de différents packages. Les packages sont des trousses à outils qui doivent être ajoutées en fonction des besoins. Un package contient une ou plusieurs fonctions qui peuvent être utilisées à partir du moment où il a été chargé.
Il ne suffit pas d’installer un package pour l’utiliser, il faut aussi le charger en utilisant la commande library(nom_du_package).
Tous les packages développés n’ont pas la même niveau de codage : des packages dont le code a été vérifié par un organisme comme le CRAN ou rOpenSci, des packages développés et vérifiés au sein de structures comme RTE (Réseau de Transport Electrique), Insee (Institut national de la statistique et des études économiques), ou des packages développés par des particuliers ou des professionnels et dont le code n’est pas forcément vérifié.
2. Installation d’un package
Pour installer un package, il est possible de le télécharger directement depuis un serveur (CRAN ou interne à une entreprise…) ou au format ZIP depuis un blog, un site internet, un support physique... Seul le téléchargement depuis le CRAN sera détaillé ci-après. Il est possible de passer par l’onglet Tools - Install Packages si vous n’êtes pas sûr du nom ou via la fonction install.packages() si le nom et l’écriture de la fonction sont bien connus.
RStudio est sensible à la casse (il fait la différence entre majuscules et minuscules) : attention donc aux noms des packages...
Travail sous forme de projet
Un projet R permet d’encapsuler son travail afin de l’optimiser. Cela revient à travailler dans un "dossier" spécifique avec les input (données d’entrée) (données, fichiers texte avec l’objectif de la mission…) et les output (données de sortie) (graphiques, cartes, rapports réalisés…).
Au sein du projet, il est possible de créer plusieurs dossiers pour naviguer facilement. Le plus pratique est de créer au moins trois dossiers :
-
Un dossier data ou donnees, qui contiendra tous les fichiers avec des données. Souvent, il est intéressant d’avoir aussi un dossier data_raw contenant les données d’origine qui ne seront jamais modifiées. Le dossier data_raw est utile si les données de base ne sont pas disponibles ailleurs sur l’ordinateur ou un serveur facile d’accès.
-
Un dossier img, qui va contenir toutes les images, les graphiques utilisés ou produits. Il est possible de scinder ce dossier en deux : un dossier img pour toutes les images et un dossier plot spécifiquement pour les graphiques.
-
Un dossier rapport, qui contiendra tous les rapports générés au format R Markdown.
Un projet peut être transmis à une autre personne ou installé sur un autre ordinateur sans avoir besoin de modifier les chemins des fichiers. Comme les fichiers de données sont inclus, il est facile de lancer les scripts même en changeant d’ordinateur.
Attention, la version des packages installés peut être différente d’un ordinateur à l’autre. Ce problème peut facilement être contourné en actualisant régulièrement les packages via l’onglet Tools - Check for Package Updates ou via Update...
Réalisation de rapports avec R Markdown
Comme avec tous les outils informatiques, il est possible de sauvegarder son travail, c’est-à-dire les lignes de code, mais il est aussi possible d’enregistrer des objets sous différents formats.
Par défaut, le format pour enregistrer des lignes de code est un fichier texte portant l’extension .R, c’est-à-dire un script compris par R. Toutes les lignes écrites sont actives par défaut dans R. Il faut utiliser une ancre le hashtag # pour désactiver une ligne, comme dans l’exemple ci-après.
Exemple de lignes de code en R, avec des commentaires
# on calcule la somme de 3+8
3 + 8
# 11
Pour faciliter l’automatisation ou la réutilisation du code, il est conseillé de créer des rapports dynamiques avec R Markdown. Ce format, portant l’extension .Rmd, permet d’éditer du texte entrecoupé par des blocs de code appelés chunks (morceaux), de détailler les étapes et d’intégrer des graphiques et des images (cf. figure 01-33).
Tous les supports informatiques liés au présent ouvrage sont en R Markdown. Il ne faut pas hésiter à aller les consulter pour bien suivre le déroulement des chapitres.
Les rapports R Markdown peuvent être édités sous différents formats : PDF, HTML, Word..., ce qui permet une diffusion facilitée des analyses réalisées.
Figure 01-33 : Rapport dynamique affichant les lignes de code précédentes.
Pour créer un fichier R Markdown, choisissez File - New File - R Markdown ou cliquez sur le raccourci de création (cf. figure 01-34). L’utilisation des autres types de fichiers proposés ne sera pas détaillée dans cet ouvrage d’initiation.
Figure 01-34 : Création d’un...
Initiation au codage en R
1. Nomenclature du langage R
Comme une calculatrice, R permet de faire un grand nombre d’opérations. Il est possible d’affecter un nom à un résultat, de le modifier…
Les codes et textes peuvent être écrits dans un script R ou dans un fichier R Markdown, mais ils doivent être "envoyés" vers la console pour être exécutés. L’envoi de code peut se faire par le raccourci-clavier [Ctrl][Entrée] ou en cliquant sur Run en haut à droite de la fenêtre du script ou de R Markdown (cf. figure 01-37). Avec R Markdown, il est possible de choisir facilement les chunks à envoyer.
Figure 01-37 : Envoi de lignes de commandes vers la console.
Dans la console, le signe supérieur > indique que R est prêt à recevoir une commande. Si ce signe n’est pas présent, c’est que R est en cours de calcul.
Lorsque R itère sur une fonction ou des lignes de code, un panneau Stop apparaît en haut à droite de la fenêtre Console. En cas de bug, cliquer dessus met fin aux itérations.
Pour attribuer une valeur à un objet, il faut utiliser une flèche, comme dans l’exemple ci-après. Il est aussi possible d’utiliser le signe égal, mais cela est déconseillé, car il porte à confusion.
ceci_est_un_objet <- 4.5 + 1.1
ceci_est_un_objet
[1] 5.6
ceci_est_un_objet * 2
[1] 11.2
ceci_est_un_objet
[1] 5.6
Pour pouvoir enregistrer une modification, il faut réassigner l’objet modifié au même nom ou à un nouveau nom.
ceci_est_un_objet <- ceci_est_un_objet * 2
ceci_est_un_objet
[1] 11.2
Pour aller plus loin dans l’utilisation de R, il faut utiliser les fonctions qui prennent des informations (adresse d’un fichier, type de données…) et/ou...